/*
 * Data.h
 *
 *  Created on: 20/08/2012
 *      Author: Manoela Camila
 */
/*Bibliotecas utilizadas*/
#include <iostream>
#include <string>
#include <ctime>

/*Objetos do namespace std utilizados*/
using std::string;
using std::cout;
using std::cin;
using std::endl;
using std::istream;
using std::ostream;

#ifndef DATA_H_
#define DATA_H_

class Data {
public:
		/*Método Construtor*/
		Data(int d = 0, int m = 0, int a = 0);
		/*Interface*/
		string getMes() const;
		int getDia() const;
		int getAno() const;
		int getMesN() const;
		void setData(int, int, int);
		static Data getDataSistema();
		Data getData() const;
		/*sobrecargas*/
		bool operator==(const Data &dt) const; // igualdade
		bool operator!=(const Data &dt) const; // desigualdade
		bool operator>=(const Data &) const; //maior ou igual
		bool operator>(const Data &) const; //maior
		friend istream &operator>>(istream &o, Data &dt); // cin
		friend ostream &operator<<(ostream &o, const Data &dt);  // cout

	private:
		/*Atributos*/
		static const string textoMes[12];
		int dia;
		int mes;
		int ano;
};

#endif /* DATA_H_ */
